package zhai.docking.alipay.domain.base.alipay;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import zhai.docking.alipay.constant.AlipayConstant;

/**
 * @author Created by 翟凤玺
 * @package zhai.docking.alipay.domain.base.alipay
 * @project-name zhai-docking-alipay
 * @description 基础-支付宝-如意IOT设备 设备解绑接口  入参
 * @create-datetime 2021/01/18 11:30
 */
@Data
public class BaseAlipayRuyiIotUnbindIn {

    @ApiModelProperty(value = "RUYI_LITE,与绑定时填写一致", required = true)
    @JSONField(name = "mini_app_id")
    private String miniAppId = AlipayConstant.IOT_RUYI_MINI_APP_ID;

    @ApiModelProperty(value = "MINI_APP,与绑定时填写一致", required = true)
    @JSONField(name = "app_type")
    private String appType = AlipayConstant.IOT_RUYI_APP_TYPE;

    @ApiModelProperty(value = "SN,与绑定时填写一致", required = true)
    @JSONField(name = "device_id_type")
    private String deviceIdType;

    @ApiModelProperty(value = "与绑定时填写一致")
    @JSONField(name = "biz_tid")
    private String bizTid;

    @ApiModelProperty(value = "设备供应商ID,与绑定时填写一致")
    @JSONField(name = "supplier_id")
    private String supplierId;

    @ApiModelProperty(value = "填写设备的SN,与绑定时填写一致")
    @JSONField(name = "device_sn")
    private String deviceSn;

    @ApiModelProperty(value = "受理商户的ISV在支付宝的pid,与绑定时填写一致", required = true)
    @JSONField(name = "source")
    private String source = AlipayConstant.IOT_RUYI_ISV_PID;

    @ApiModelProperty(value = "商户编号,由ISV定义,需要保证在ISV下唯一,与绑定时填写一致", required = true)
    @JSONField(name = "external_id")
    private String externalId;

    @ApiModelProperty(value = "区分商户ID类型，直连商户填写direct,间连商户填写indirect,与绑定时填写一致", required = true)
    @JSONField(name = "merchant_id_type")
    private String merchantIdType;

    @ApiModelProperty(value = "商户角色id。对于直连开店场景,填写商户pid;对于间连开店场景,填写商户smid,与绑定时填写一致", required = true)
    @JSONField(name = "merchant_id")
    private String merchantId;

    @ApiModelProperty(value = "店铺ID,与绑定时填写一致", required = true)
    @JSONField(name = "shop_id")
    private String shopId;

    @ApiModelProperty(value = "外部门店id")
    @JSONField(name = "external_shop_id")
    private String externalShopId;

    @ApiModelProperty(value = "external_id对应的secret秘钥")
    @JSONField(name = "external_id_secret")
    private String externalIdSecret;

    @ApiModelProperty(value = "硬件类型")
    @JSONField(name = "equipment_type")
    private String equipmentType;
}
